/*
 *  Viewport.h
 *  glow
 *
 *  Created by sunjun on 11-6-14.
 *  Copyright 2011 sunstdio. All rights reserved.
 *
 */

//////////////////////////////////////////////////////////////////////////

#ifndef __Viewport__
#define __Viewport__

//////////////////////////////////////////////////////////////////////////

#if defined __cplusplus

//////////////////////////////////////////////////////////////////////////

NAMESPACE_BEGIN(Render)

//////////////////////////////////////////////////////////////////////////

	// this class provides an object-oriented viewport interface.
	class Viewport: public Operation
	{
	public:		
		// constructor
		Viewport(I32 x, I32 y, I32 w, I32 h);
		
		// destructor
		virtual ~Viewport();

	private:
		// implement the render operation
		VOID operator() (class Context*rc);

	private:
		I32 mRect[4];
	};

	//////////////////////////////////////////////////////////////////////////

	typedef GPtr<Viewport>ViewportPtr;

//////////////////////////////////////////////////////////////////////////

NAMESPACE_END

//////////////////////////////////////////////////////////////////////////

#endif // __cplusplus

//////////////////////////////////////////////////////////////////////////

#endif // __Viewport__

//////////////////////////////////////////////////////////////////////////